#ifndef AJ_SESSIONINFO_LIST_H
#define AJ_SESSIONINFO_LIST_H

#include <mutex>
#include <memory>
#include <vector>
#include "aj_sessioninfo.h"
class SessionInfoList
{
public:
    SessionInfoList();
    ~SessionInfoList();

    SessionInfo* NewSessionInfo(std::shared_ptr<NETAPI::TcpSession> &session);
    void Clear();
    SessionInfo* FindByID(const void *id);
    SessionInfo* FindByIP(QString ip);

private:
    void SessionDisconnected(void *id);
private:
    std::mutex m_lock;
    std::vector<SessionInfo*> m_list;

};
#endif // AJ_SESSIONINFO_LIST_H
